home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / 3DGPS_1.ZIP / 3DGPS_1.txt next >
Text File  |  1997-04-21  |  4KB  |  120 lines

  1.     -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  2.         3D Graphics Programming Series
  3.              ~3DGPS~
  4.         ------------------------------
  5.             Trainer #1
  6.            Intro to 3D Graphics
  7.     -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  8.  
  9.    Welcome to trainer #1 of the 3D Graphics Programming Series!
  10.  
  11.         -=-=-=-=-=-=-=-=-=-=-=-=-=-=-    
  12.  
  13.     Hello!  I am going to make a series of trainers to teach 
  14. people the basics and the math involed in doing 3D graphics 
  15. programming!  As of yet, I have not seen this type of series
  16. exclusively on 3D graphics.  I am going to start with the basics,
  17. and move on from there.  So, be sure to stay tuned! 
  18.  
  19.    As Always... you can reach me at nielsen@usinternet.com or
  20. as _mIkE on the Undernet in #mode13h - hope ta see ya! :)
  21.  
  22. -=-=-=-=-=-=-=-=-=-=-=-
  23. Intro to 3D Graphics:
  24.  
  25.    3D - Three dimensions... what does it mean for a graphics 
  26. programmer?  Well, working in 3D is a bit more difficult then 
  27. standard 2D.. but with some tricks and a little help from me, it 
  28. can all be done in no time!
  29.  
  30.    The 3D coordinate system is the same as the standard 2D 
  31. cartesian system except with a Z-axis added on.  The added z
  32. coordinate defines the depth of the object on the axis.  In other 
  33. words... it defines how close or how far the object is away from 
  34. the viewer.  The 3D coordinate system looks as follows:
  35.  
  36. (always in my best acsii art)
  37.  
  38.            (+y)      (+z into the monitor)
  39.         |      / 
  40.         |    /
  41.         |  /
  42.    (-x) ________|/________ (+x)
  43.            /|(0,0,0)
  44.          /  | 
  45.        /    |
  46.      /      |
  47. (-z toward eye)(-y)
  48.  
  49.  
  50.    If the axis is centered in the middle of the screen, as it
  51. should be... the +z goes back, or away from the viewer, and the 
  52. -z gets closer.  This meaning that the object (in perspective) 
  53. gets larger as it gets closer to the viewer, and smaller as it
  54. gets farther away.
  55.  
  56.    Ok, so I said the axis should be centered in the middle of the 
  57. screen.  It doesn't hafta be done this way, but it should be, so 
  58. that it is more true in terms of the negative coordinates.  
  59. Normally, if your x or y value is less than 0.. it is off the 
  60. screen.  But with the added z-axis in 3D, you don't want the 
  61. origin to be centered in the upper left corner.  So, we just 
  62. offset the coordinates to center them, before we draw the image 
  63. onto the screen.  This allows for negative x and y values to be 
  64. shown on the screen.  Also, with the cartesian coordinate system,
  65. the y value is flipped compared to the screen.  So, all we need 
  66. to do is flip the y value, so the positive y values are above the
  67. axis, as they should be.
  68.  
  69.  
  70.               (mode 13h)
  71.   (0,0)  ___________________  (319,0)
  72.         |       (+y)  (+z)  |
  73.         |         |  /      |
  74.         |(-x) ____|/___ (+x)|
  75.         |        /|(0,0,0)  |
  76.         |      /  |         |
  77. (0,199) |__(-z)__(-y)_______| (319,199)
  78.  
  79.  
  80. (ex..)
  81. halfscreenwidth = 160
  82. halfscreenheight = 100
  83. drawpoint(halfscreenwidth + x, halfscreenheight - y)
  84.  
  85.    In the above diagram, the origin is centered in the center of 
  86. the screen, as described above, and the +y values are above the
  87. axis.
  88.  
  89.   Now, lets talk about the distance from the screen to your eye. 
  90. This is very important also, for acurate 3D... as it defines how
  91. far you are from the origin and any object on the screen. 
  92. Generally, the distance value should be about half the screen 
  93. height (in pixels).  But this can vary, depending on the type of
  94. perspective that is desired.  Be sure to play around with this 
  95. value.  We will go more in-depth with this later.
  96. º
  97.  
  98. -=-=-=-=-=-=-=-=-=-=-=-
  99.  
  100.    Well, that wraps up this installment of the 3DGPS.. be sure
  101. to be tuned in for the next one...
  102.  
  103.                 ------------------
  104.                     #2
  105.                 Points in 3D Space
  106.                 ------------------
  107.  
  108.            -=-=-=-=-=-=-=-=-=-=-=-=-
  109.         These trainers were designed  to 
  110.         aid those interested in doing 3D 
  111.         graphics programming, and  as  a 
  112.         reference  for anyone  in  need.  
  113.         If you feel that  any info given 
  114.         here is false in any way, or you
  115.         have  any  comments  whatsoever, 
  116.         please e-mail me :)
  117.            -=-=-=-=-=-=-=-=-=-=-=-=-
  118.               nielsen@usinternet.org
  119.  
  120.